Selective rotation of a user interface

ABSTRACT

This is directed to rotating an entire user interface of a portable electronic device. In particular, this is directed to defining a UI orientation mode in which a user can direct the device to rotate a UI. When the UI orientation mode is enabled, the electronic device can detect particular inputs, for example based on the outputs of motion sensing components such as an accelerometer and a magnetometer, to determine how to rotate the UI. Once the UI has been rotated to a desired orientation, a user can lock the UI orientation and exit the UI orientation mode.

BACKGROUND OF THE INVENTION

An electronic device can include a display for providing information toa user. The display typically can include a specific orientation inwhich information can be displayed. For example, in laptop computers orcomputer displays, the display orientation is usually fixed relative tothe device, and the user interface (“UI”) typically remains fixed andmatches the display orientation. With some mobile devices, however, auser can rotate the device such that the orientation of the displayrelative to the user changes. For example, using a device such as theiPhone or iPod Touch available from Apple Inc. of Cupertino, Calif.,displayed images or other content can be rotated in the display based onthe output of an accelerometer.

In some cases, however, a user may wish to change the orientation of auser interface independent of the orientation of the device relative tothe earth (e.g., as determined by the accelerometer), or relative to aclip of the device used to attach the device to the user's apparel. Forexample, an electronic device can be attached to a user's arm, such thatthe device is upside down relative to the earth when the user looks downat the device on his arm. If the user interface orientation isdetermined relative to the earth, the displayed interface can be upsidefor the user. This can limit the user's ability to view informationdisplayed by the device and interact with the user interface.

SUMMARY OF THE INVENTION

This is directed to systems, methods and computer-readable media forchanging the orientation of a user interface in response to a specificuser input. In particular, this is directed to enabling a specific modeduring which the orientation of an electronic device can be changed.

In some embodiments, an electronic device can include a display on whichdifferent types of information can be displayed. For example, anelectronic device can display content, a user interface (e.g.,selectable buttons or options), or any other information. The displayedinformation can be orientation specific, such that the information isbest viewed from a particular perspective. For example, the displayedinformation can include text, which may be best read when orientedproperly relative to the user (e.g., not upside down). As anotherexample, the displayed information can include selectable displayedoptions that have a particular orientation.

To change the orientation of the entire UI, the electronic device canprovide a UI orientation mode in which particular inputs or eventsdetected by the device can be used to change the orientation of theentire UI. Any suitable input can serve to enable the UI orientationmode, including for example inputs detected by an input interface (e.g.,touch inputs or button presses), detected environment events (e.g.,specific events detected by the ambient light sensor), accessory inputs(e.g., connecting or removing an accessory), or any other suitableinput. Once in the UI orientation mode, the electronic device canmonitor for inputs directing the device to change the orientation of theUI. For example, the electronic device can monitor an input interfacefor a particular input associated with changing the UI orientation. Asanother example, the electronic device can detect accelerometer outputsdepicting the orientation of the device relative to the earth's surface.As still another example, the electronic device can receive aninstruction from an accessory device, or detect a change in state of anaccessory.

Once the user has changed the orientation of the UI, the user canprovide an instruction to lock the orientation of the UI and exit the UIorientation mode. For example, the user can provide an input using adifferent mechanism or approach than that used to change the UIorientation (e.g., use accelerometer output to change the UIorientation, and use a touch input to lock the UI).

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other features of the present invention, its nature andvarious advantages will be more apparent upon consideration of thefollowing detailed description, taken in conjunction with theaccompanying drawings in which:

FIG. 1 is a schematic view of an illustrative electronic device having are-orientable UI in accordance with one embodiment of the invention;

FIG. 2 is a schematic view an illustrative user interface forinteracting with an electronic device in accordance with one embodimentof the invention;

FIG. 3 is a schematic view of an illustrative rotated user interface inaccordance with one embodiment of the invention; and

FIG. 4 is a flowchart of an illustrative process for changing theorientation of a displayed UI in accordance with one embodiment of theinvention.

DETAILED DESCRIPTION

This is directed to changing the orientation of a user interface andother displayed information on a display. In particular, this isdirected to a device having a UI orientation mode in which a user canselect and set the orientation of a UI relative to an electronic devicedisplay.

In the following description of preferred embodiments, reference is madeto the accompanying drawings which form a part hereof, and in which itis shown by way of illustration specific embodiments in which theinvention can be practiced. It is to be understood that otherembodiments can be utilized and structural changes can be made withoutdeparting from the scope of the preferred embodiments of the presentinvention.

FIG. 1 is a schematic view of an illustrative electronic device having are-orientable UI in accordance with one embodiment of the invention.Electronic device 100 can include any suitable type of electronic deviceoperative to display information to a user. For example, electronicdevice 100 can include a media player such as an iPod® available byApple Inc., of Cupertino, Calif., a cellular telephone, a personale-mail or messaging device (e.g., a Blackberry® or a Sidekick®), aniPhone® available from Apple Inc., pocket-sized personal computers,personal digital assistants (PDAs), a laptop computer, a tablet, a musicrecorder, a video recorder, a gaming device, a camera, radios, medicalequipment, and any other portable electronic device having a displayfrom which a user can select a portion of displayed objects.

Electronic device 100 can include a processor or control circuitry 102,storage 104, memory 106, input/output circuitry 108, display 110, and astypically found in an electronic device of the type of electronic device100, and operative to enable any of the uses expected from an electronicdevice of the type of electronic device 100 (e.g., connect to a hostdevice for power or data transfers). In some embodiments, one or more ofelectronic device components 100 can be combined or omitted (e.g.,combine storage 104 and memory 106), electronic device 100 can includeother components not combined or included in those shown in FIG. 1(e.g., communications circuitry or positioning circuitry), or electronicdevice 100 can include several instances of the components shown inFIG. 1. For the sake of simplicity, only one of each of the componentsis shown in FIG. 1.

Control circuitry 102 can include any processing circuitry or processoroperative to control the operations and performance of electronic device100. Using instructions retrieved, for example from memory, controlcircuitry 102 can control the reception and manipulation of input andoutput data between components of electronic device 100. Controlcircuitry 102 can be implemented on a single-chip, multiple chips ormultiple electrical components. For example, various architectures canbe used for processor 56, including dedicated or embedded processor,single purpose processor, controller, ASIC, and so forth.

Storage 104 can include, for example, one or more storage mediumsincluding a hard-drive, solid state drive, flash memory, permanentmemory such as ROM, any other suitable type of storage component, or anycombination thereof. In some embodiments, storage 104 can include aremovable storage medium and loaded or installed onto electronic device100 when needed. Removable storage mediums include, for example, CD-ROM,PC-CARD, memory card, floppy disk, magnetic tape, and a networkcomponent. Memory 106 can include cache memory, semi-permanent memorysuch as RAM, and/or one or more different types of memory used fortemporarily storing data. In some embodiments, memory 106 and storage104 can be combined as a single storage medium.

Input/output circuitry 108 can be operative to convert (andencode/decode, if necessary) analog signals and other signals intodigital data. Input/output circuitry 108 can be coupled to or includeany suitable input interface, such as for example, a button, keypad,dial, a click wheel, tap sensor (e.g., via an accelerometer), or a touchscreen (e.g., using single or multipoint capacitive sensing, resistivesensing, surface acoustic wave sensing, pressure sensing, opticalsensing, and the like), as well as any suitable output circuitryassociated with output devices (e.g., audio outputs or display circuitryor components). In some embodiments, I/O circuitry 108 can be used toperform tracking and to make selections with respect to a UI on display110, issue commands in device 100, or any other operation relating todetecting inputs or events from outside of the device and providinginformation describing the inputs or events to the device circuitry. Insome embodiments, input/output circuitry 108 can interface with one ormore sensors of the device, such as an accelerometer, ambient lightsensor, magnetometer, magnetometer, IR receiver, microphone, thermostat,barometer, or other sensor can enable the UI orientation mode inresponse to detecting an environmental condition. In some embodiments,I/O circuitry 108 can include ports or other communications interfacesfor interfacing with external devices or accessories (e.g., keyboards,printers, scanners, cameras, microphones, speakers, and the like).

Display 110 can be operatively coupled to control circuitry 102 forproviding visual outputs to a user. Display 110 can include any suitabletype of display, including for example a liquid crystal display (LCD)(e.g., active matrix, passive matrix and the like), a monochromedisplay, color graphics adapter (CGA) display, enhanced graphics adapter(EGA) display, variable-graphics-array (VGA) display, super VGA display,cathode ray tube (CRT), a plasma display, a display implemented withelectronic inks, or any other suitable display. Display 110 can beconfigured to display a graphical user interface that can provide aneasy to use interface between a user of the computer system and theoperating system or application running thereon. The UI can representprograms, files and operational options with graphical images, objects,or vector representations, and can include windows, fields, dialogboxes, menus, icons, buttons, cursors, scroll bars, etc. Such images canbe arranged in predefined layouts, or can be created dynamically toserve the specific actions being taken by a user. During operation, theuser can select and/or activate various graphical images in order toinitiate functions and tasks associated therewith.

In some embodiments, electronic device 100 can include a bus operativeto provide a data transfer path for transferring data to, from, orbetween control processor 102, storage 104, memory 106, input/outputcircuitry 108, display 110 and any other component included in theelectronic device.

Using the electronic device, a user can display any suitable informationon the device display. For example, the electronic device can displayimages, objects, documents, or any other suitable information. FIG. 2 isa schematic view an illustrative user interface for interacting with anelectronic device in accordance with one embodiment of the invention.Display 200 can include options 210 displayed on one of severalavailable screens. The displayed options 210 can identify operationsthat the user can direct the device to perform using any suitableapproach, including for example via one or more of icons or images,text, buttons, or other display features. Display 200 can includeseveral pages of options 210. In one implementation, display 200 canidentify several available pages using markers 220, and identify thecurrently displayed page by differentiating one of the markers 220(e.g., marker 222 is highlighted). Display 200 can have any suitableorientation relative to device 202. In the example of FIG. 2, display200 is aligned with device 202 (e.g., such that the top of display 200is adjacent to button 204 of electronic device 202).

The electronic device display can have any suitable shape, including forexample a shape that has a varying aspect ration based on theorientation of the display (e.g., a rectangular shape) or a shape with auniform aspect ratio (e.g., a square shape, as shown in FIG. 2). Becauseof the change in aspect ratio or general shape of the display relativebased on the device orientation, different UIs can be displayed based onthe device orientation. In particular, buttons or other displayedoptions can have different sizes, positions, and content in thedifferent UIs. In addition, a user may wish to view a UI in differentorientations based on the manner in which the device is held. Forexample, a user may wish a UI is upside down relative to the user whenthe user is showing something to a friend across a table, or when thedevice is attached to the user's arm (e.g., so that the user can lifthis arm and see the UI in the proper orientation).

Different approaches can be used to change the orientation of adisplayed UI. In some devices, an accelerometer can be used to monitorthe device movement and determine the orientation of the device relativeto the gravity vector. This approach can be useful, for example withdevices having rectangular displays for which the UI changes based onthe display orientation. This approach, however, may not be desirablewhen a user wishes to view a UI in a particular orientation independentof the device orientation relative to gravity. For example, a user lyingon his side may wish that UI remains at a 90 degree angle relative tothe gravity vector. As another example, a user with an electronic deviceattached to his arm may wish that the UI be upside down relative to thegravity vector so that the user can properly see the UI when the userlooks down on his arm.

To allow a user to control the orientation of the UI, the electronicdevice can include a UI orientation mode that must be enabled forchanging the orientation of the UI. The user can enable the UIorientation mode using any suitable approach, including by providing aninput using an input interface. For example, a user can select a menuoption for enabling the UI orientation mode. As another example, theuser can provide a particular input associated with enabling the UIorientation mode using an input interface, such as providing a circulartouch gesture on a touch screen or a two finger tap on a touch screen.In some embodiments, the electronic device can enable the UI orientationmode in response to detecting attributes of the environment (e.g.,environment events) using sensors embedded in or coupled to the device.For example, an accelerometer, ambient light sensor, GPS, magnetometer,IR receiver, microphone, or other sensor can enable the UI orientationmode in response to detecting an environmental condition associated withthe mode. For example, the UI orientation mode can be associated with aparticular shake or movement of the device (e.g., detected by theaccelerometer), pattern of light and darkness (e.g., a user moving ahand over the ALS in a known pattern), rotation of the device (e.g.,rotating the device in a pattern by a particular amount detected by themagnetometer), or any other environmental condition that can be detectedby a device sensor.

In some embodiments, a user can provide an input for enabling the UIorientation mode using a mechanical component of the electronic devicehousing. For example, the electronic device can have a clip forattaching the electronic device to the user's clothes. The clip caninclude a magnetic portion operative to trip a magnetic switch when theclip is opened or closed. To enable the UI orientation mode, a user canopen or close the clip in a particular pattern so that the magneticswitch within the device can detect a pattern associated with the mode.In some embodiments, the switch can instead or in addition include oneor more of a mechanical switch and an electrical switch that areactuated by the movement of the clip.

Once the UI orientation mode enabled, the user can provide any suitableinput to change the orientation of the display relative to the device.In some embodiments, the change in orientation of the UI can be definedusing any suitable input, including for example any of the inputsdiscussed above in connection with enabling the UI orientation mode. Inone implementation, an accelerometer or magnetometer output can be usedto determine the amount by which to rotate the UI. For example, theelectronic device can rotate the UI by an angle determined from thechange in orientation of the device relative to the magnetic north ormagnetic south. As another example, the electronic device can rotate theUI by an angle determined from the orientation of the device relative tothe gravity vector.

The electronic device can change the orientation of the displayed UI byany suitable amount. In some embodiments, the electronic device canprovide a limited number of UI orientations at predetermined angles(e.g., four UI orientations at 90 degree intervals). In some cases, theavailable UI orientations can be selected based on the dimensions andshape of the display (e.g., provide UIs oriented with a straight side oredge of the display). Alternatively, the electronic device can provide aUI at any suitable angle selected by a user, including for examplearbitrary angles that do not match up with the display shape. FIG. 3 isa schematic view of an illustrative rotated user interface in accordancewith one embodiment of the invention. Display 300 can include options310 and markers 320, which can include some or all of the features ofoptions 210 and markers 220 of display 200 (FIG. 2). In someembodiments, display 300 can include substantially the same UI elementsas display 200. Display 300 can be rotated relative to device 302 (asshown by the orientation of the UI relative to button 304), such thatthe UI is at an angle relative to the up/down orientation of the device.The electronic device can indicate that the UI orientation mode isenabled using any suitable approach, including for example usingcircular overlay 330. If the electronic device has a limited number ofUI orientations available, overlay 330 can include individual segments332 defining the available orientations. The electronic device canhighlight the particular segment 332 (e.g., segment 334) that indicatesthe current orientation of the UI.

Once the user has changed the orientation of the UI to a desiredorientation, the user can lock the UI and exit the UI orientation modeusing any suitable approach. In some embodiments, the electronic devicecan provide an input using any suitable approach, including any of theapproaches discussed above in connection with enabling the UIorientation mode. For example, the electronic device can lock a UI in aparticular orientation and exit the UI orientation mode in response todetecting a user input on a touch screen (e.g., tap the screen to lockthe UI). The electronic device can then revert to a non-UI orientationmode (e.g., a media playback mode, communications mode, standby mode, orother standard mode).

The following flowchart describes processes used by the electronicdevice to change the orientation of information displayed by a deviceusing a UI orientation mode. FIG. 4 is a flowchart of an illustrativeprocess for changing the orientation of a displayed UI in accordancewith one embodiment of the invention. Process 400 can begin at step 402.At step 404, the electronic device can determine whether to enable a UIorientation mode. For example, the electronic device can determinewhether an input associated with enabling the UI orientation mode wasprovided (e.g., a touch input associated with the UI orientation mode).If the electronic device determines that the UI orientation mode shouldnot be enabled, process 400 can return to step 404 and continue tomonitor for inputs enabling the UI orientation mode.

If, at step 404, the electronic device instead determines that the UIorientation mode should be enabled, process 400 can move to step 406. Atstep 406, the electronic device can detect an input to rotate the UI.For example, the electronic device can detect a sensor output associatedwith rotating the UI (e.g., an accelerometer or a magnetometer). At step408, the electronic device can change the orientation of the UI based onthe detected input. For example, the electronic device can extract anangle measurement from the detected input, and change the orientation ofthe UI by the extracted angle measurement. In some embodiments, theelectronic device can snap the UI orientation to predeterminedorientations (e.g., 90 degree intervals). At step 410, the electronicdevice can determine whether an instruction to lock the UI was received.For example, the electronic device can determine whether a user providedan input (e.g., a touch input) to lock the UI orientation. If theelectronic device determines that no instruction was received, process400 can return to step 406 and continue to detect inputs for rotatingthe UI.

If, at step 410, the electronic device instead determines that aninstruction to lock the UI was received, process 400 can move to step412. At step 412, the electronic device can lock the UI orientation andexit the UI orientation mode. For example, the electronic device canreturn to the mode enabled prior to the UI orientation mode. As anotherexample, the electronic device can return to a default mode (e.g., mediaplayback mode). Process 400 can then end at step 414.

Although many of the embodiments of the present invention are describedherein with respect to personal computing devices, it should beunderstood that the present invention is not limited to personalcomputing applications, but is generally applicable to otherapplications.

The invention is preferably implemented by software, but can also beimplemented in hardware or a combination of hardware and software. Theinvention can also be embodied as computer readable code on a computerreadable medium. The computer readable medium is any data storage devicethat can store data which can thereafter be read by a computer system.Examples of the computer readable medium include read-only memory,random-access memory, CD-ROMs, DVDs, magnetic tape, and optical datastorage devices. The computer readable medium can also be distributedover network-coupled computer systems so that the computer readable codeis stored and executed in a distributed fashion.

Insubstantial changes from the claimed subject matter as viewed by aperson with ordinary skill in the art, now known or later devised, areexpressly contemplated as being equivalently within the scope of theclaims. Therefore, obvious substitutions now or later known to one withordinary skill in the art are defined to be within the scope of thedefined elements.

The above described embodiments of the invention are presented forpurposes of illustration and not of limitation, and the presentinvention is limited only by the claims which follow.

1.-22. (canceled)
 23. A method for changing the orientation of adisplayed user interface on a display of an electronic device, themethod comprising: detecting movement of the electronic device relativeto gravity; enabling a mode of the electronic device in response to thedetected movement; while the mode is enabled, detecting an input withthe electronic device, wherein the detected movement of the electronicdevice is different than the detected input; and changing theorientation of the displayed user interface on the display in responseto the detected input.
 24. The method of claim 23, wherein the detectedmovement of the electronic device is independent from the detectedinput.
 25. The method of claim 23, wherein the detecting the inputcomprises detecting an output of a motion sensing component of theelectronic device.
 26. The method of claim 25, wherein the changingcomprises changing the orientation of the displayed user interface inresponse to the detected output.
 27. The method of claim 25, furthercomprising defining an angle from the detected output, wherein thechanging comprises changing the orientation of the displayed userinterface by the defined angle.
 28. The method of claim 23, wherein thedetecting the movement comprises detecting an output of a motion sensingcomponent of the electronic device.
 29. The method of claim 28, whereinthe motion sensing component comprises an accelerometer.
 30. The methodof claim 28, wherein the motion sensing component comprises amagnetometer.
 31. The method of claim 28, wherein the detecting theinput comprises detecting another output of the motion sensing componentof the electronic device.
 32. The method of claim 23, wherein: thedetecting the movement comprises detecting an output of a motion sensorof the electronic device; and the detecting the input comprisesdetecting an output of a touch sensor of the electronic device.
 33. Themethod of claim 23, further comprising: after the changing, while themode is enabled, detecting another input with the electronic device; andin response to the detected other input, exiting the mode to lock thechanged orientation of the displayed user interface.
 34. The method ofclaim 33, wherein: the detecting the movement comprises detecting anoutput of a motion sensor of the electronic device; and the detectingthe other input comprises detecting an output of a touch sensor of theelectronic device.
 35. The method of claim 23, wherein the detectingmovement of the electronic device relative to gravity comprisesdetecting a particular movement of the electronic device with a motionsensor of the electronic device.
 36. The method of claim 23, wherein thedetecting movement of the electronic device relative to gravitycomprises detecting a particular shake of the electronic device with anaccelerometer of the electronic device.
 37. The method of claim 23,wherein the detecting movement of the electronic device relative togravity comprises detecting a particular rotation of the electronicdevice with a magnetometer of the electronic device.
 38. An electronicdevice comprising: a housing; a display coupled to the housing; a motionsensor coupled to the housing; and control circuitry that: directs thedisplay to display a user interface in a first orientation on thedisplay; receives event data from the motion sensor while the userinterface is displayed in the first orientation on the display; enablesa mode of the electronic device in response to the received event data;receives input data while the mode is enabled; and directs the displayto display the user interface in a second orientation on the display inresponse to the received input data.
 39. The electronic device of claim38, wherein the event data comprises data indicative of a particularmovement of the electronic device detected by the motion sensor.
 40. Theelectronic device of claim 38, wherein the motion sensor comprises anaccelerometer that generates the event data.
 41. The electronic deviceof claim 38, wherein the motion sensor comprises a magnetometer thatgenerates the event data.
 42. Non-transitory computer-readable media foradjusting a displayed user interface of an electronic device, comprisingcomputer readable code recorded thereon for: detecting a change inorientation of the electronic device relative to a gravity vector;enabling a mode of the electronic device in response to the detectedchange; while the mode is enabled, detecting an input of the electronicdevice; and changing an orientation of the displayed user interface ofthe electronic device in response to the detected input.